package com.wx.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>Title:      PatientVo. </p>
 * <p>Description 患者信息表 </p>
 * <p>Copyright: Copyright (c) 2016</p>
 * <p>Company:    医百科技有限公司 </p>
 *
 * @author         yangwensheng@100doc.com.cn
 * @since      2021-03-25 10:08:31
 */
@Data
@ApiModel(value = "PatientVo")
public class PatientVo implements Serializable {

	private static final long serialVersionUID = -2094744001282810093L;
	/**
	 * 主键 id
	 */
	@ApiModelProperty(value = "主键")
	@ExcelIgnore
	private String id;
	/**
	 * 真实姓名
	 */
	@ApiModelProperty(value = "姓名")
	@ExcelProperty(value = "姓名", index = 0)
	@ColumnWidth(value = 25)
	private String realName;

	/**
	 * 性别 1:男 2:女
	 */
	@ApiModelProperty(value = "性别 1:男 2:女")
	@ExcelIgnore
	private Integer sex;

	/**
	 * 出生日期
	 */
	@ApiModelProperty(value = "出生日期")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ExcelIgnore
	private Date birthday;
	/**
	 * 证件类型 1：身份证 2：护照
	 */
	@ApiModelProperty(value = "证件类型 1：身份证 2：护照")
	@ExcelIgnore
	private Integer certificatesType;

	/**
	 * 身份证号
	 */
	@ApiModelProperty(value = "身份证号")
	@ExcelIgnore
	private String idNum;
	/**
	 * 联系方式
	 */
	@ApiModelProperty(value = "手机号码")
	@ExcelProperty(value = "手机号", index = 1)
	@ColumnWidth(value = 25)
	private String phone;

	/**
	 * 入组编号
	 */
	@ApiModelProperty(value = "电子ICF编号")
	@ExcelProperty(value = "电子ICF编号", index = 2)
	@ColumnWidth(value = 25)
	private String joinCode;

	/**
	 * 入组时间
	 */
	@ApiModelProperty(value = "入组时间")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ExcelProperty(value = "入组时间", index = 3)
	@ColumnWidth(value = 25)
	private Date joinTime;
	/**
	 * 脱组时间
	 */
	@ApiModelProperty(value = "脱组时间")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@ExcelProperty(value = "脱组时间", index = 4)
	@ColumnWidth(value = 25)
	private Date exitTime;


	@ApiModelProperty(value = "范围id")
	@ExcelIgnore
	private String rangeId;


	@ApiModelProperty(value = "所属范围")
	@ExcelProperty(value = "所属范围", index = 6)
	@ColumnWidth(value = 25)
	private String rangeName;

	/**
	 * 联系人id
	 */
	@ApiModelProperty(value = "联系人id")
	@ExcelIgnore
	private String contactsId;

	/**
	 * 所属护士
	 */
	@ApiModelProperty(value = "所属护士")
	@ExcelProperty(value = "所属护士", index = 7)
	@ColumnWidth(value = 25)
	private String contactsName;

	/**
	 * 随访编号
	 */
	@ApiModelProperty(value = "随访编号")
	@ExcelProperty(value = "随访编号", index =8)
	@ColumnWidth(value = 25)
	private String followCode;

	/**
	 * 随访次数
	 */
	@ApiModelProperty(value = "随访次数")
	@ExcelProperty(value = "随访次数", index = 5)
	@ColumnWidth(value = 25)
	private Integer followCount;


	/**
	 * 区域
	 */
	@ApiModelProperty(value = "区域")
	@ExcelIgnore
	private String region;

	/**
	 * 大区
	 */
	@ApiModelProperty(value = "大区")
	@ExcelIgnore
	private String bigRegion;

	/**
	 * 医院Id
	 */
	@ApiModelProperty(value = "医院Id")
	@ExcelIgnore
	private String hospitalId;

	/**
	 * 医院名称
	 */
	@ApiModelProperty(value = "医院名称")
	@ExcelIgnore
	private String hospitalName;

	/**
	 * 入组省份
	 */
	@ApiModelProperty(value = "入组省份")
	@ExcelIgnore
	private String joinProvinceId;

	/**
	 * 入组城市
	 */
	@ApiModelProperty(value = "入组城市")
	@ExcelIgnore
	private String joinCityId;

}
